home *** CD-ROM | disk | FTP | other *** search
/ SPACE 1 / SPACE - Library 1 - Volume 1.iso / program / 70 / examples / examples.arc / PRIME4.ST < prev    next >
Text File  |  1985-11-20  |  519b  |  29 lines

  1. Class Main
  2. [
  3.     main    | x gen |
  4.         gen <- Primes new.
  5.         (smalltalk time: [x <- gen first.
  6.         [x < 300]
  7.             whileTrue: [ x print. x <- gen next] ] ) print
  8. ]
  9. Class Primes
  10. | prevPrimes lastPrime |
  11. [
  12.     first
  13.         prevPrimes <- Set new.
  14.         prevPrimes add: (lastPrime <- 2).
  15.         ^ lastPrime
  16. |
  17.     next
  18.         [lastPrime <- lastPrime + 1.
  19.          self testNumber: lastPrime]
  20.             whileFalse.
  21.         prevPrimes add: lastPrime.
  22.         ^ lastPrime
  23. |
  24.     testNumber: n
  25.         prevPrimes do: [:x | 
  26.             (n \\ x = 0) ifTrue: [ ^ false ] ].
  27.         ^ true
  28. ]
  29.